package leetcode.editor.cn;

import java.util.ArrayList;
import java.util.Collections;

/**
  * 题目Id：剑指 Offer 06
  * 题目：从尾到头打印链表
  * 日期：2023-08-27 14:54:11
 * @author YUCH
 */
//输入一个链表的头节点，从尾到头反过来返回每个节点的值（用数组返回）。 
//
// 
//
// 示例 1： 
//
// 输入：head = [1,3,2]
//输出：[2,3,1] 
//
// 
//
// 限制： 
//
// 0 <= 链表长度 <= 10000 
//
// Related Topics 栈 递归 链表 双指针 👍 456 👎 0


public class CongWeiDaoTouDaYinLianBiaoLcof {
    public static void main(String[] args) {
        Solution solution = new CongWeiDaoTouDaYinLianBiaoLcof().new Solution();
        System.out.println("Hello world");
    }
    //leetcode submit region begin(Prohibit modification and deletion)
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public int[] reversePrint(ListNode head) {
        ArrayList<Integer> list = new ArrayList<>();
        ListNode point;
        point=head;
        while (point!=null){
            list.add(0,point.val);
            point=point.next;
        }

        return list.stream().mapToInt(Integer::intValue).toArray();

    }
}
//leetcode submit region end(Prohibit modification and deletion)

} 
